#ifndef Zone_h
#define Zone_h

#include "Rules.h"


class Zone_T
{
public:
	// TargetAddr Key
	bool hasTargetAddr;
	char szTargetAddr[MAX_PATH];

	// TargetPort Key
	bool hasTargetPort;
	char szTargetPort[MAX_PATH];

	// TargetUrl Key
	bool hasTargetUrl;
	char szTargetUrl[MAX_PATH];

	// RulesFile Key
	char szRulesFile[MAX_PATH];
	Rules_T * rulesPtr;

private:
	// name of the zone
	char _szName[MAX_PATH];

public:
	Zone_T
	(
		const char * szName, 
		const char * szDefaultLogFilename, 
		const char * szDefaultRulesFile, 
		const char * szConfigFile, 
		bool isZoneToInclude
	);

	void ToString(char * szBuffer, unsigned int bufferSize);

public:
	static bool IsValid(const char * szZoneName, const char * szConfigFile, bool isZoneToInclude);
};

#endif //Zone_h